package br.com.sismo.server.entity;

import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;

import br.com.sismo.shared.TipoUsuario;
import br.com.sismo.shared.UsuarioTO;

@PersistenceCapable
public class Usuario {
	@PrimaryKey
	@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
	private Long id;
	@Persistent
	private String nome;
	@Persistent
	private String login;
	@Persistent
	private String password;
	@Persistent
	private String email;
	@Persistent
	private Integer codigoTipo;
	public Usuario() {
		
	}
	public Usuario(UsuarioTO u) {
		this.nome = u.getNome();
		this.login = u.getLogin();
		this.password = u.getPassword();
		this.email = u.getEmail();
		this.codigoTipo = u.getCodigoTipo();
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getEmail() {
		return email;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getPassword() {
		return password;
	}
	public void setLogin(String login) {
		this.login = login;
	}
	public String getLogin() {
		return login;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getNome() {
		return nome;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public Long getId() {
		return id;
	}
	public TipoUsuario getTipo() {
		return TipoUsuario.porCodigo(this.codigoTipo);
	}
	public void setCodigoTipo(Integer codigoTipo) {
		this.codigoTipo = codigoTipo;
	}
	public Integer getCodigoTipo() {
		return codigoTipo;
	}
	public UsuarioTO getUsuarioTO() {
		UsuarioTO u = new UsuarioTO();
		u.setCodigoTipo(this.codigoTipo);
		u.setEmail(this.email);
		u.setId(this.id);
		u.setLogin(this.login);
		u.setNome(this.nome);
		u.setPassword(this.password);
		return u;
	}
}
